Programmable controllers are typically used to operate industrial equipment according to a stored program. For example, these devices may be used to control unattended electrical utility distribution substations or remote pipeline pumping stations. The programmable controllers at several remote locations are connected to a master controller via communication links, such as telephone lines, to form a network. The remotely located controllers sense the condition of the sub-station equipment and report the sensed status to the master controller. The master controller upon analyzing the status of the remote programmable controllers transmits commands instructing them to activate various pieces of equipment at the substations. For example, in the case of an electrical distribution system the remote controller at a substation may provide information to the master controller regarding the load current on that portion of the electrical grid. The master controller in response to the sensed information may switch power from other parts of the grid to meet an increased demand for electrical power or may divert electricity from a substation having a lesser demand to one having a great demand.
The master controller in this type of network gathers information from all of the remote controllers by polling each one in a fixed order. The memory of the master programmable controller contains a list of all of the remote devices, that are currently active. In polling the remote devices the master controller sequentially scans the list of active controllers on the network and interrogates each one in order to determine whether or not they have information to transmit to the master. If a programmable controller has data to transmit, that information is sent before the next remote controller is interrogated.
Certain ones of the remote controllers may be high priority type devices in that the equipment that they control or the information that they are sensing requires frequent accessing by the master. Depending upon the number of controllers on the network and the amount of data that each has to transmit to the master controller, the sequential polling of the active controllers may not access the high priority ones very often. Therefore, under worst case conditions, the high priority type controllers may not be afforded an opportunity to send their data frequently enough for a timely response to be taken.
One solution to this problem is to divide a large network into smaller networks, each one having their own master controller, and reassigning each remote controller to one of the networks. Although this method decreases the polling scan time and, therefore, increases the frequency at which the high priority devices are accessed, the programmable controllers on one network no longer have direct access to the controllers connected to the other networks. In addition, this solution may be more expensive than utilizing a single network and master controller.
Another function which tends to slow down network operation is the determining whether a previously inactive station seeks to join the network. Each programmable controller station on the network has a unique address which may, for example, be represented by an eight bit digital number to accommodate 256 possible stations. However, the typical communication network has considerably less than 256 stations connected to it. In networks with significantly fewer than the maximum number of stations, considerable time is consumed by periodically testing previously inactive addresses for stations seeking access to the network. For example, if there are only ten stations which could possibly be on the network, the master station must still periodically scan all of the remaining 246 addresses.